package com.example.aicooking.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.example.aicooking.entity.Works;
import com.example.aicooking.entity.vo.WorksListVO;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

@Mapper
public interface WorksMapper extends BaseMapper<Works> {
    // 查询所有已发布的作品
    List<WorksListVO> selectWorksWithInfo();

    // 查询用户的所有作品
    List<Works> selectUserWorks(@Param("userId") Integer userId);

    // 插入新作品
    int insertWorks(Works works);

    // 更新作品状态
    int updateWorksStatus(@Param("worksId") Integer worksId,
                          @Param("userId") Integer userId,
                          @Param("status") Integer status);

    // 删除作品
    int deleteWorks(@Param("worksId") Integer worksId,
                    @Param("userId") Integer userId);

    List<Works> searchWorks(@Param("keyword") String keyword);
}